package menu;

import jeu.FrameScore;
import jeu.Jeu;
import jeu.Reparation;

import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.SlickException;

import personalisation.ConstructionPersonalise;
import personalisation.ReparationPersonalise;

public class LauncherGame {

	public LauncherGame() {
	}

	public void launchGame(int mode) {
		AppGameContainer app;
		try {
			if (mode == 0)
				app = new AppGameContainer(new Jeu(), 1056, 864, false);
			else
				app = new AppGameContainer(new Reparation(), 960, 864, false);
			app.setMinimumLogicUpdateInterval(60);
			app.setMaximumLogicUpdateInterval(60);

			app.setForceExit(false);
			app.start();
			app.reinit();
		} catch (SlickException e) {
			System.err.println("Erreur lors du lancement du jeu");
		}
	}

	public void launchScores() {
		AppGameContainer app;
		try {
			app = new AppGameContainer(new FrameScore(), 1056, 864, false);
			app.setMinimumLogicUpdateInterval(60);
			app.setMaximumLogicUpdateInterval(60);

			app.setForceExit(false);
			app.start();
			app.reinit();
		} catch (SlickException e) {
			System.err.println("Erreur lors du lancement du jeu");
		}
	}

	public void launchPersonalise(int i) {
		AppGameContainer app;
		try {
			switch(i) {
			case 0:
				app = new AppGameContainer(new ConstructionPersonalise(), 1056, 864, false);
				app.setMinimumLogicUpdateInterval(60);
				app.setMaximumLogicUpdateInterval(60);

				app.setForceExit(false);
				app.start();
				app.reinit();
				break;
			case 1:
				app = new AppGameContainer(new ReparationPersonalise(), 960, 864, false);
				app.setMinimumLogicUpdateInterval(60);
				app.setMaximumLogicUpdateInterval(60);

				app.setForceExit(false);
				app.start();
				app.reinit();
				break;
			}
		} catch (SlickException e) {
			System.err.println("Erreur lors du lancement du jeu");
		}
		
	}
	
}